package com.alphas.xixibackendalphas.service;

import com.alphas.xixibackendalphas.model.DTO.TeamQuery;
import com.alphas.xixibackendalphas.model.VO.TeamUserVO;
import com.alphas.xixibackendalphas.model.domain.Team;
import com.alphas.xixibackendalphas.model.domain.User;
import com.alphas.xixibackendalphas.model.request.TeamJoinRequest;
import com.alphas.xixibackendalphas.model.request.TeamQuitRequest;
import com.alphas.xixibackendalphas.model.request.TeamUpdateRequest;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author Alphas
* @description 针对表【team(队伍)】的数据库操作Service
* @createDate 2024-09-12 14:27:47
*/
public interface TeamService extends IService<Team> {

    Long teamAdd(Team team, User userLogin);

    Boolean teamDelete(Long teamId, User userLogin);

    Boolean updateTeam(TeamUpdateRequest teamUpdateRequest, User loginUser);

    List<TeamUserVO> listTeams(TeamQuery teamQuery, boolean isAdmin);

    boolean joinTeam(TeamJoinRequest teamJoinRequest, User loginUser);

    boolean quitTeam(TeamQuitRequest teamQuitRequest, User loginUser);
}
